home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-08-29 | 6.7 KB | 190 lines | [TEXT/CWIE] |
- ========================================================================
- Metrowerks ZoneRanger Release Notes
- ========================================================================
-
- Version: ZoneRanger 2.1
- Date: August 29, 1998
- Author: Joshua Golub
-
-
- ========================================================================
- New Features in This Version (2.1)
- ========================================================================
-
- * Browse embedded heap zones
-
- Version 2.1 introduces the most-requested feature for ZoneRanger:
- the ability to browse "embedded" heap zones, i.e. those created via
- InitZone. See the "Background" section below for a description of
- what embedded heap zones are and why an application might create them.
-
- Note that the ability to browse embedded heap zones is only available
- with the Modern Memory Manager, the memory manager used by MacOS for
- PowerPC. You will not be able to browse embedded heap zones with
- MacOS for 68K.
-
- * "Heap Hierarchy" window
-
- The "Heap List" window in previous versions of ZoneRanger has been
- replaced by the new "Heap Hierarchy" window. This new window will
- show you the actual hierarchical structure of all the heaps in the
- MacOS. By hierarchical, we mean that all of the various heaps
- (both MacOS and malloc) are structured as a tree, where each heap
- has 0 or more "sibling" heaps and 0 or more "child" heaps. The
- window is presented with a Finder-like turn-down-triangle metaphor
- to successively reveal the hierarchy.
-
- * Per-heap preferences
-
- In previous versions of ZoneRanger, the "Heap List" window contained
- four checkboxes:
-
- Open Summary
- Open 1D Graphical
- Open 2D Graphical
- Open Histogram
-
- These checkboxes controlled which heap views would be displayed when
- any heap was opened. The state of these checkboxes was not saved across
- launches.
-
- In the new "Heap Hierarchy" window, each heap contains four columns
- representing, in order, the following heap views:
-
- Summary
- 1D Graphical
- 2D Graphical
- Histogram
-
- Each column contains a bullet which can be toggled on and off,
- indicating whether or not you want that heap view to be displayed
- when that heap is opened. Since each heap contains these four
- columns, you now have the ability to specify your view preferences
- on a per-heap basis. The state of these columns _will_ be saved
- across launches.
-
-
- ========================================================================
- Background
- ========================================================================
-
- * What are "embedded heap zones"?
-
- When your application is launched, the MacOS creates a single large heap
- zone for you. If you want, you can allocate a locked NewHandle or NewPtr
- out of this large heap zone, and then create an "embedded" heap zone out
- of the handle or pointer. You can do this as many times as you want, to
- create numerous embedded heaps within your application heap.
-
- * Why would you want to do this?
-
- There are a variety of possible reasons. Here are two of them:
-
- 1. Historically, the MacOS memory manager has been notoriously
- inefficient when it comes to handling very large numbers of blocks
- within a heap. So, if you divide the blocks among several embedded
- heaps, then performance could be improved.
-
- 2. Let's say that you wanted to allocated 100 handles or pointers,
- but (for programmatic convenience) didn't want to keep track of
- them once created. If you created all of them within an embedded heap
- zone, then you wouldn't need to dispose all 100; you could just dispose
- of the embedded heap itself.
-
- * How does ZoneRanger support embedded heaps?
-
- ZoneRanger supports them in that they are now listed in the
- "Heap Hierarchy" window, so that you can open all of the standard heap
- views for them: summary, 1D and 2D graphical, and histogram. Previously,
- ZoneRanger didn't know about their existence, so you had no way to view
- them at all.
-
- * Want more information?
-
- See "Inside Macintosh: Memory", page 2-86.
-
-
- ========================================================================
- Installation Instructions
- ========================================================================
-
- * Quick Start
-
- If you would like to demonstrate ZoneRanger's new ability to browse
- embedded heaps right now, but do not have embedded heaps in your own
- application, then perform the following steps.
-
- 1. Launch the "LeakyApp" application that is part of the
- "MW ZoneRanger 2.1" distribution.
-
- 2. Select the "Create MacOS Heap" command from the "Leak" menu.
-
- 3. Select the "Create Malloc Heap" command from the "Leak" menu.
-
- 4. Launch ZoneRanger.
-
- 5. Turn down the triangle next to the "Process Manager" heap.
-
- 6. Turn down the triangle next to the "LeakyApp" heap.
-
- 7. Two heaps should appear inside "LeakyApp":
-
- MacOS @ <address>
- Malloc @ <address>
-
- You can now browse these heaps using any of the familiar
- ZoneRanger tools.
-
-
- ========================================================================
- Bugs Fixed in This Version
- ========================================================================
-
- * "Open" preferences are now saved
-
- In previous versions of ZoneRanger, the state of the checkboxes in the
- "Heap List" window was not saved across launches. This window has been
- replaced with the new "Heap Hierarchy" window, which provides four
- corresponding (toggle-able) bullets for each heap. The state of these
- bullets will be saved across launches, as will the turned-down state
- of all heaps in the hierarchy window.
-
-
- ========================================================================
- Known Bugs and Incompatibilities
- ========================================================================
-
- * None
-
-
- ========================================================================
- User Interface Changes in This Version
- ========================================================================
-
- * "Heap List" window -> "Heap Hierarchy" window
-
- The "Heap List" window, which displayed the available heaps in a single
- flat list, has been replaced by the "Heap Hierarchy" window, which
- displays the available heaps in their native hierarchical structure.
-
-
- ========================================================================
- Contacting Metrowerks
- ========================================================================
-
- For bug reports, technical questions, and suggestions about this
- release, please use the forms in the Release Notes folder on the
- CD, and send them to:
-
- support@metrowerks.com
-
- See the CodeWarrior on the Nets document in the Release Notes folder for
- more contact information, including a list of Internet newsgroups,
- online services, and patch and update sites.
-
- ========================================================================
-
- Joshua Golub
- Metrowerks Corporation
-
-